const db = require("../db/mysql"); // 引入 数据库 配置

/**
 * 根据项目列表获取页面列表
 * @param {*} ctx
 * @param {*} res
 */
const getAllPageList = async (ctx, res) => {
  try {
    // 获取routers表全部数据 并按照sort字段从小到大排序
    const sql = `SELECT * FROM routers ORDER BY sort`;
    // 使用 connection.execute() 而不是 query()，并添加 rowsAsArray: false 选项
    const [result] = await db.execute(sql, [], { rowsAsArray: false });
    ctx.body = {
      code: 200,
      data: result, // 现在只包含实际数据
      msg: "获取页面列表成功",
    };
  } catch (error) {
    ctx.body = {
      code: 500,
      data: null,
      msg: "获取页面列表失败",
      error: error.message, // 只发送错误消息，而不是整个错误对象
    };
  }
};
// 获取已经启用的页面列表
const getPageList = async (ctx, res) => {
  try {
    // 获取已经启用的routers表数据 并按照sort字段从小到大排序
    const sql = `SELECT * FROM routers WHERE Enable = 1 ORDER BY sort`;
    // 使用 connection.execute() 而不是 query()，并添加 rowsAsArray: false 选项
    const [result] = await db.execute(sql, [], { rowsAsArray: false });
    ctx.body = {
      code: 200,
      data: result, // 现在只包含实际数据
      msg: "获取页面列表成功",
    };
  } catch (error) {
    ctx.body = {
      code: 500,
      data: null,
      msg: "获取页面列表失败",
      error: error.message, // 只发送错误消息，而不是整个错误对象
    };
  }
};
/** 修改页面数据 */
const updataPage = async (ctx, res) => {
  try {
    const { id, Enable, name, url, sort } = ctx.request.body;
    const sql = `UPDATE routers SET name = ?, url = ?, sort = ?,Enable = ? WHERE id = ?`;
    const result = await db.query(sql, [name, url, sort, Enable, id]);
    ctx.body = {
      code: 200,
      data: result,
      msg: "修改成功",
    };
  } catch (error) {
    ctx.body = {
      code: 500,
      data: null,
      msg: "修改失败",
      error,
    };
  }
};
module.exports = {
    getAllPageList,
  getPageList,
  updataPage,
};
